package com.smedi.ismedi.constructionproject.core.port.adapter.service;

import com.smedi.ismedi.organization.api.dto.response.HrOrganizationResponse;
import com.smedi.ismedi.organization.api.dto.response.ProjectOrganizationResponse;

import java.util.List;

/**
 * @Author: xulinjun
 * @Date: 2021-6-10 20:45
 */
public interface OrganizationRemoteApiService {
    HrOrganizationResponse getHrOrganizationRoot();

    Boolean checkHrOrganizationCanHasProjectAvailable(Long HrOrganizationId);

    Boolean checkProjectOrganizationAvailable(Long projectOrganizationId);

    HrOrganizationResponse getHrOrganizationView(Long HrOrganizationId);

    ProjectOrganizationResponse getProjectOrganizationView(Long projectOrganizationId);

    Boolean checkProjectOrganizationCanBeBidSectionConfig(Long projectOrganizationId);

    Boolean checkHrOrganizationAvailable(Long HrOrganizationId);

    List<Long> getHrOrganizationChildrenOrgIdList(Long HrOrganizationId);

    Boolean checkProjectOrganizationIsExternalUnit(Long projectOrganizationId);

    List<Long> getProjectOrganizationChildrenOrgIdList(Long projectOrganizationId);

    List<ProjectOrganizationResponse> getProjectOrganizationByProjectOrganizationIds(List<Long> projectOrganizationIds);

    List<HrOrganizationResponse> getHrOrganizationByHrOrganizationIds(List<Long> hrOrganizationIds);

    List<Long> getProjectIdsByHrOrganizationId(Long hrOrganizationId);
}
